import './assets/main.css';

import { createApp } from 'vue';
/**
 * 本插件（import pinia from "@/stores/pinia";）为ljy定义，使用目的是因为在router.ts中无法使用pinia插件，因此自己定义一个插件并引用
 * 如果不是为了在router中使用，不需要该文件。
 */
// import { createPinia } from 'pinia';
import pinia from '@/stores/pinia';

import App from './App.vue';
import router from './router';

//注意：element ui plus官网的按需导入没有这一步。这里必须加上
import 'element-plus/dist/index.css';
//暗黑模式：可选。除此之外，还需要在index.html页面的html标签加上class="dark"样式
// import 'element-plus/theme-chalk/dark/css-vars.css';

const app = createApp(App);
//引入Emenent plus的Icont图标
import * as ElementPlusIconsVue from '@element-plus/icons-vue';
for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
  app.component(key, component);
}

//解决分页插件不显示中文的问题，但这里是全局配置的，也就是说在这里引入了就和vite.config.ts中做按需引入重复了（即那里的按需引入代码可以删除）
//因此改为在app.vue使用element plus提供的Vue 组件 ConfigProvider 解决element plus的中文问题。
// import ElementPlus from 'element-plus';
// import zhCn from 'element-plus/es/locale/lang/zh-cn';

// app.use(ElementPlus, {
//   locale: zhCn
// });

// app.use(createPinia());
app.use(pinia);
app.use(router);

//处理全局异常，要加上去。否则出现一些程序运行错误可能导致整个页面要刷新才能继续
app.config.errorHandler = (err, instance, info) => {
  // 处理错误
  console.error(err, instance, info);
};

app.mount('#app');
